<!DOCTYPE html>
<html style="height:100%;width:100%" data-theme="light">

<head>
  <meta charset="UTF-8">
  <title>PHP助手——让世界没有难写的网页后端</title>
  <script>function checkLeave() { event.returnValue = "确定离开当前页面吗？"; }</script>
  <script src="./blockly/blockly_compressed.js"></script>
  <script src="./blockly/blocks_compressed.js"></script>
  <script src="./blockly/php_compressed.js"></script>
  <script src="./blockly/msg/js/zh-hans.js"></script>
  <script src="./js/modal.js"></script>
  <script src="./blockly/ini/jquery-3.6.1.min.js"></script>
  <script src="./blockly/ini/dist_clipboard.min.js"></script>
  <style src="./blockly/ini/ide_files/style.css"></style>
  <script src="./blockly/ini/blocks/get.js"></script>
  <script src="./blockly/ini/blocks/get.js.js"></script>
  <script src="./blockly/ini/ide_files/function.js"></script>
  <link rel="shortcut icon" href="./blockly/ini/site/logo.svg" type="image/x-icon">
  <link rel="stylesheet" type="text/css" href="./css/style.css">
  <link rel="stylesheet" type="text/css" href="./css/pico.css">
</head>

<body onbeforeunload="checkLeave()" style='height:100%;width:100%;font-family: "myf";'>
  <nav style="height: 8%">
    <ul>
      <li><strong>&nbsp;&nbsp;&nbsp;<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
            fill="none" version="1.1" width="25.6" height="25.6" viewBox="0 0 256 256">
            <defs>
              <clipPath id="master_svg0_76_10">
                <rect x="0" y="0" width="256" height="256" rx="45" />
              </clipPath>
              <clipPath id="master_svg1_76_321">
                <rect x="188" y="100" width="56" height="56" rx="0" />
              </clipPath>
            </defs>
            <g style="mix-blend-mode:passthrough" clip-path="url(#master_svg0_76_10)">
              <rect x="0" y="0" width="256" height="256" rx="45" fill="#FFFFFF" fill-opacity="1" />
              <g style="mix-blend-mode:passthrough">
                <path
                  d="M82.3906,31Q95.7188,31,105.5625,35.4375Q115.4219,39.8594,120.7031,47.9844Q126,56.1094,126,67Q126,77.875,120.6562,86.0156Q115.3125,94.1406,105.3594,98.5781Q95.4219,103,81.9531,103L68.1875,103L68.1875,137L44,137L44,31L82.3906,31ZM79.2969,82Q88.4531,82,94.2188,78.5469Q100,75.0781,100,66.9844Q100,59.0625,94.1562,55.5312Q88.3125,52,79.2969,52L68.1875,52L68.1875,82L79.2969,82Z"
                  fill="#313131" fill-opacity="1" />
              </g>
              <g style="mix-blend-mode:passthrough">
                <path
                  d="M141.3906,111Q154.7188,111,164.5625,115.4375Q174.4219,119.8594,179.7031,127.9844Q185,136.1094,185,147Q185,157.875,179.6562,166.0156Q174.3125,174.1406,164.3594,178.5781Q154.4219,183,140.9531,183L127.1875,183L127.1875,217L103,217L103,111L141.3906,111ZM138.2969,162Q147.4531,162,153.2188,158.5469Q159,155.0781,159,146.9844Q159,139.0625,153.1562,135.5312Q147.3125,132,138.2969,132L127.1875,132L127.1875,162L138.2969,162Z"
                  fill="#313131" fill-opacity="1" />
              </g>
              <g style="mix-blend-mode:passthrough">
                <rect x="44" y="127" width="24" height="90" rx="0" fill="#313131" fill-opacity="1" />
              </g>
              <g style="mix-blend-mode:passthrough" transform="matrix(0,1,-1,0,274,36)">
                <rect x="119" y="155" width="24" height="71" rx="0" fill="#313131" fill-opacity="1" />
              </g>
              <g style="mix-blend-mode:passthrough">
                <path
                  d="M146.45312,79.1667L155.1302,79.1667L155.1302,71L159.8333,71L159.8333,92L155.1302,92L155.1302,83.1406L146.45312,83.1406L146.45312,92L141.75,92L141.75,71L146.45312,71L146.45312,79.1667ZM170.1146,77.125Q172.0742,77.125,173.5781,77.9362Q175.09109999999998,78.7383,175.9206,80.2513Q176.75,81.7643,176.75,83.7695Q176.75,84.6263,176.5859,85.58330000000001L167.444,85.58330000000001Q167.7448,86.8867,168.4922,87.60679999999999Q169.2396,88.3177,170.3151,88.3177Q171.1992,88.3177,171.901,87.862Q172.612,87.4062,172.9401,86.5221L176.22140000000002,88.67320000000001Q175.6198,90.4049,173.9336,91.3529Q172.2474,92.29169999999999,170.1419,92.29169999999999Q168.2096,92.29169999999999,166.5143,91.4258Q164.8281,90.5599,163.7891,88.8372Q162.75,87.1055,162.75,84.6536Q162.75,82.2201,163.7891,80.5247Q164.8281,78.8203,166.5052,77.9727Q168.1823,77.125,170.1146,77.125ZM169.987,81.099Q169.0482,81.099,168.3919,81.51820000000001Q167.7448,81.9284,167.444,82.66669999999999L172.1927,82.66669999999999Q172.0742,81.901,171.4635,81.5Q170.862,81.099,169.987,81.099ZM183.7865,92L179.0833,92L179.0833,70.41667L183.7865,70.41667L183.7865,92ZM196.09109999999998,77.125Q197.832,77.125,199.2812,78.01820000000001Q200.7396,78.9023,201.59640000000002,80.625Q202.4531,82.3385,202.4531,84.70830000000001Q202.4531,87.0508,201.59640000000002,88.76429999999999Q200.7396,90.4779,199.2904,91.38929999999999Q197.84109999999998,92.29169999999999,196.1003,92.29169999999999Q193.4479,92.29169999999999,191.9531,90.3229L191.9531,98.41669999999999L187.25,98.41669999999999L187.25,77.4167L191.4336,77.4167Q191.5521,79.0938,191.6341,79.6042Q192.3906,78.3555,193.5299,77.7448Q194.6784,77.125,196.09109999999998,77.125ZM194.888,88.3177Q196.1549,88.3177,196.9479,87.3698Q197.75,86.4219,197.75,84.7904Q197.75,83.1224,196.9479,82.11070000000001Q196.1549,81.099,194.888,81.099Q193.6484,81.099,192.8008,82.056Q191.9531,83.013,191.9531,84.7904Q191.9531,86.5677,192.7826,87.4427Q193.6211,88.3177,194.888,88.3177ZM211.5312,77.125Q213.4909,77.125,214.9948,77.9362Q216.5078,78.7383,217.3372,80.2513Q218.1667,81.7643,218.1667,83.7695Q218.1667,84.6263,218.0026,85.58330000000001L208.8607,85.58330000000001Q209.1615,86.8867,209.90890000000002,87.60679999999999Q210.6562,88.3177,211.73180000000002,88.3177Q212.6159,88.3177,213.3177,87.862Q214.02859999999998,87.4062,214.35680000000002,86.5221L217.638,88.67320000000001Q217.0365,90.4049,215.3503,91.3529Q213.66410000000002,92.29169999999999,211.5586,92.29169999999999Q209.62630000000001,92.29169999999999,207.93099999999998,91.4258Q206.2448,90.5599,205.20569999999998,88.8372Q204.1667,87.1055,204.1667,84.6536Q204.1667,82.2201,205.20569999999998,80.5247Q206.2448,78.8203,207.9219,77.9727Q209.599,77.125,211.5312,77.125ZM211.40359999999998,81.099Q210.4648,81.099,209.8086,81.51820000000001Q209.1615,81.9284,208.8607,82.66669999999999L213.6094,82.66669999999999Q213.4909,81.901,212.8802,81.5Q212.27859999999998,81.099,211.40359999999998,81.099ZM229.0951,77.125Q229.98829999999998,77.125,230.7812,77.3893Q231.5833,77.6445,231.9753,78.0638L230.21609999999998,81.6823Q229.3229,81.099,228.42059999999998,81.099Q226.9349,81.099,226.06900000000002,82.32939999999999Q225.2031,83.5508,225.2031,85.6289L225.2031,92L220.5,92L220.5,77.4167L224.7292,77.4167Q224.7292,78.8659,224.9479,79.7773Q225.5951,78.474,226.67059999999998,77.7995Q227.7552,77.125,229.0951,77.125Z"
                  fill="#313131" fill-opacity="1" />
              </g>
              <g clip-path="url(#master_svg1_76_321)">
                <g>
                  <path
                    d="M200.4367552734375,107.6322625625C203.4088952734375,106.5719665625,206.7259552734375,107.3188615625,208.9567552734375,109.5507065625C211.18765527343749,111.7825565625,211.9330552734375,115.0999365625,210.8714552734375,118.0716265625L236.1764552734375,143.3766265625L231.2250552734375,148.3256265625L205.9200552734375,123.0229265625C202.9479452734375,124.0832265625,199.6309052734375,123.3363265625,197.4000552734375,121.1045265625C195.1692062734375,118.8726265625,194.4237942734375,115.5552565625,195.4854182734375,112.5835965625L200.7027552734375,117.8032265625C202.0621652734375,119.2107265625,204.3114652734375,119.2303265625,205.6951552734375,117.8466265625C207.0787552734375,116.4629765625,207.0592552734375,114.2136665625,205.6517552734375,112.8542665625L200.4344152734375,107.6299295625L200.4367552734375,107.6322625625ZM224.6264552734375,112.0282665625L232.0510552734375,107.9029285625L235.3504552734375,111.2022665625L231.2250552734375,118.6269265625L227.0997552734375,119.4529265625L222.1530552734375,124.4019265625L218.8514552734375,121.1026265625L223.8004552734375,116.1535965625L224.6264552734375,112.0282665625ZM208.1274552734375,130.1769265625L213.0764552734375,135.1282265625L201.5264152734375,146.67822656250002C200.2037752734375,147.9885265625,198.0868852734375,148.0340265625,196.7091652734375,146.7818265625C195.3314352734375,145.5296265625,195.1751082734375,143.41802656250002,196.3534152734375,141.9766265625L196.5797552734375,141.7269265625L208.1297552734375,130.1769265625L208.1274552734375,130.1769265625Z"
                    fill="#313131" fill-opacity="1" />
                </g>
              </g>
            </g>
          </svg>&nbsp;&nbsp;&nbsp;PHP助手</strong></li>
      <li>
        <div class="dropdown">
          <span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none"
              version="1.1" width="18.000024795532227" height="20.000001907348633"
              viewBox="0 0 18.000024795532227 20.000001907348633">
              <g>
                <path
                  d="M0.0000252724,6L6.00303,0L16.998,0C17.55,0,18,0.455,18,0.992L18,19.008C17.9995,19.556,17.5551,20,17.007,20L0.993025,20C0.440734,19.9961,-0.00385571,19.5453,0.0000252724,18.993L0.0000252724,6ZM7.00003,1.5L1.50003,7L7.00003,7L7.00003,1.5Z"
                  fill="#415462" fill-opacity="1" />
              </g>
            </svg>&nbsp;文件</span>
          <div class="dropdown-content">
            <a onClick="d_save()">保存</a>
            <div style="position:relative">
              <a style="width:100px;height:30px;">打开</a>
              <input type="file" style="position:absolute;top:0px;left:0px;width:100px;height:30px;opacity:0" />
            </div>
          </div>
        </div>
      </li>
      <li>
        <div class="dropdown">
          <span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none"
              version="1.1" width="22.014102935791016" height="20.413999557495117"
              viewBox="0 0 22.014102935791016 20.413999557495117">
              <g>
                <path
                  d="M12.0069,11L12.0069,16.585L13.8349,14.757L15.2499,16.172L11.0069,20.414L6.76393,16.172L8.17893,14.757L10.0069,16.585L10.0069,11L12.0069,11ZM11.0069,0C14.5611,0.000168085,17.5512,2.66348,17.9609,6.194C20.5289,6.89429,22.2269,9.33298,21.9926,11.9844C21.7582,14.6358,19.6589,16.7389,17.0079,16.978L17.0069,15C17.0102,11.7278,14.3911,9.05638,11.1194,8.99502C7.84783,8.93366,5.13034,11.505,5.01093,14.775L5.00693,15L5.00693,16.978C2.35582,16.7393,0.256158,14.6363,0.0215971,11.9848C-0.212964,9.33335,1.48491,6.89443,4.05293,6.194C4.46187,2.66354,7.45223,-1.19209e-7,11.0069,0Z"
                  fill="#415462" fill-opacity="1" />
              </g>
            </svg>&nbsp;部署</span>
          <div class="dropdown-content">
            <a onclick="bushu()">一键部署</a>
          </div>
        </div>
      </li>
      <div class="dropdown">
        <span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none"
            version="1.1" width="24" height="18" viewBox="0 0 24 18">
            <g>
              <path
                d="M24,9L18.343,14.657L16.929,13.243L21.172,9L16.929,4.757L18.343,3.343L24,9ZM2.828,9L7.071,13.243L5.657,14.657L0,9L5.657,3.343L7.07,4.757L2.828,9ZM9.788,18L7.66,18L14.212,0L16.34,0L9.788,18Z"
                fill="#415462" fill-opacity="1" />
            </g>
          </svg>&nbsp;代码</span>
        <div class="dropdown-content">
          <a onclick="t()">生成代码</a>
          <a onclick="copy('code')">复制代码</a>
        </div>
      </div>
      </li>
      <li>
        <div class="dropdown">
          <span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none"
              version="1.1" width="20" height="20" viewBox="0 0 20 20">
              <g>
                <path
                  d="M10,20C4.477,20,0,15.523,0,10C0,4.477,4.477,0,10,0C15.523,0,20,4.477,20,10C20,15.523,15.523,20,10,20ZM9,9L9,15L11,15L11,9L9,9ZM9,5L9,7L11,7L11,5L9,5Z"
                  fill="#415462" fill-opacity="1" />
              </g>
            </svg>&nbsp;关于</span>
          <div class="dropdown-content">
            <a data-target="about-phphelper" onClick="toggleModal(event)">关于PHP助手</a>
            <a href="./index.php ">主页</a>
          </div>
        </div>
      </li>
    </ul>
    <ul>
      <li>
        <b style="color: grey;"> 0.0.1 Dev (386)</b>
      </li>
      <li></li>
    </ul>
  </nav>
<xml xmlns="https://developers.google.com/blockly/xml" id="workspaceBlocks" style="display: none"></xml>
<xml xmlns="https://developers.google.com/blockly/xml" id="toolbox" style="display: none">
  <category name="条件" colour="#995ba5" custom="PROCEDURE"></category>
  <category name="循环" colour="#5ba55b">
    <block type="controls_repeat_ext">
      <value name="TIMES">
        <shadow type="math_number">
          <field name="NUM">10</field>
        </shadow>
      </value>
    </block>
    <block type="controls_whileUntil">
      <field name="MODE">WHILE</field>
    </block>
    <block type="controls_for">
      <field name="VAR" id="PSTW#fgbQD20Tw}Sn@KA">i</field>
      <value name="FROM">
        <shadow type="math_number">
          <field name="NUM">1</field>
        </shadow>
      </value>
      <value name="TO">
        <shadow type="math_number">
          <field name="NUM">10</field>
        </shadow>
      </value>
      <value name="BY">
        <shadow type="math_number">
          <field name="NUM">1</field>
        </shadow>
      </value>
    </block>
    <block type="controls_forEach">
      <field name="VAR" id=",1Lyk}%|)lu(ftaB$!ly">j</field>
    </block>
    <block type="controls_flow_statements">
      <field name="FLOW">BREAK</field>
    </block>
  </category>
  <category name="数学" colour="#5b67a5">
    <block type="math_number">
      <field name="NUM">0</field>
    </block>
    <block type="math_arithmetic">
      <field name="OP">ADD</field>
      <value name="A">
        <shadow type="math_number">
          <field name="NUM">1</field>
        </shadow>
      </value>
      <value name="B">
        <shadow type="math_number">
          <field name="NUM">1</field>
        </shadow>
      </value>
    </block>
    <block type="math_single">
      <field name="OP">ROOT</field>
      <value name="NUM">
        <shadow type="math_number">
          <field name="NUM">9</field>
        </shadow>
      </value>
    </block>
    <block type="math_trig">
      <field name="OP">SIN</field>
      <value name="NUM">
        <shadow type="math_number">
          <field name="NUM">45</field>
        </shadow>
      </value>
    </block>
    <block type="math_constant">
      <field name="CONSTANT">PI</field>
    </block>
    <block type="math_number_property">
      <mutation divisor_input="false"></mutation>
      <field name="PROPERTY">EVEN</field>
      <value name="NUMBER_TO_CHECK">
        <shadow type="math_number">
          <field name="NUM">0</field>
        </shadow>
      </value>
    </block>
    <block type="math_round">
      <field name="OP">ROUND</field>
      <value name="NUM">
        <shadow type="math_number">
          <field name="NUM">3.1</field>
        </shadow>
      </value>
    </block>
    <block type="math_on_list">
      <mutation op="SUM"></mutation>
      <field name="OP">SUM</field>
    </block>
    <block type="math_modulo">
      <value name="DIVIDEND">
        <shadow type="math_number">
          <field name="NUM">64</field>
        </shadow>
      </value>
      <value name="DIVISOR">
        <shadow type="math_number">
          <field name="NUM">10</field>
        </shadow>
      </value>
    </block>
    <block type="math_constrain">
      <value name="VALUE">
        <shadow type="math_number">
          <field name="NUM">50</field>
        </shadow>
      </value>
      <value name="LOW">
        <shadow type="math_number">
          <field name="NUM">1</field>
        </shadow>
      </value>
      <value name="HIGH">
        <shadow type="math_number">
          <field name="NUM">100</field>
        </shadow>
      </value>
    </block>
    <block type="math_random_int">
      <value name="FROM">
        <shadow type="math_number">
          <field name="NUM">1</field>
        </shadow>
      </value>
      <value name="TO">
        <shadow type="math_number">
          <field name="NUM">100</field>
        </shadow>
      </value>
    </block>
    <block type="math_random_float"></block>
  </category>
  <category name="字符串" colour="#5ba58c">
    <block type="text">
      <field name="TEXT"></field>
    </block>
    <block type="text_join">
      <mutation items="2"></mutation>
    </block>
    <block type="text_append">
      <field name="VAR" id="IaA%v,OOY/#;=nDG-dqn">项目</field>
      <value name="TEXT">
        <shadow type="text">
          <field name="TEXT"></field>
        </shadow>
      </value>
    </block>
    <block type="text_length">
      <value name="VALUE">
        <shadow type="text">
          <field name="TEXT">abc</field>
        </shadow>
      </value>
    </block>
    <block type="text_isEmpty">
      <value name="VALUE">
        <shadow type="text">
          <field name="TEXT"></field>
        </shadow>
      </value>
    </block>
    <block type="text_indexOf">
      <field name="END">FIRST</field>
      <value name="VALUE">
        <block type="variables_get">
          <field name="VAR" id="*MHO8;sWb;w@603SJnYK">text</field>
        </block>
      </value>
      <value name="FIND">
        <shadow type="text">
          <field name="TEXT">abc</field>
        </shadow>
      </value>
    </block>
    <block type="text_charAt">
      <mutation at="true"></mutation>
      <field name="WHERE">FROM_START</field>
      <value name="VALUE">
        <block type="variables_get">
          <field name="VAR" id="*MHO8;sWb;w@603SJnYK">text</field>
        </block>
      </value>
    </block>
    <block type="text_getSubstring">
      <mutation at1="true" at2="true"></mutation>
      <field name="WHERE1">FROM_START</field>
      <field name="WHERE2">FROM_START</field>
      <value name="STRING">
        <block type="variables_get">
          <field name="VAR" id="*MHO8;sWb;w@603SJnYK">text</field>
        </block>
      </value>
    </block>
    <block type="text_changeCase">
      <field name="CASE">UPPERCASE</field>
      <value name="TEXT">
        <shadow type="text">
          <field name="TEXT">abc</field>
        </shadow>
      </value>
    </block>
    <block type="text_trim">
      <field name="MODE">BOTH</field>
      <value name="TEXT">
        <shadow type="text">
          <field name="TEXT">abc</field>
        </shadow>
      </value>
    </block>
    <block type="text_print">
      <value name="TEXT">
        <shadow type="text">
          <field name="TEXT">abc</field>
        </shadow>
      </value>
    </block>
    <block type="text_prompt_ext">
      <mutation type="TEXT"></mutation>
      <field name="TYPE">TEXT</field>
      <value name="TEXT">
        <shadow type="text">
          <field name="TEXT">abc</field>
        </shadow>
      </value>
    </block>
  </category>
  <category name="变量" colour="#a55b80" custom="VARIABLE"></category>
  <category name="列表" colour="#745ba5">
    <block type="lists_create_with">
      <mutation items="0"></mutation>
    </block>
    <block type="lists_create_with">
      <mutation items="3"></mutation>
    </block>
    <block type="lists_repeat">
      <value name="NUM">
        <shadow type="math_number">
          <field name="NUM">5</field>
        </shadow>
      </value>
    </block>
    <block type="lists_length"></block>
    <block type="lists_isEmpty"></block>
    <block type="lists_indexOf">
      <field name="END">FIRST</field>
      <value name="VALUE">
        <block type="variables_get">
          <field name="VAR" id="UyvusOBXPAlbz))qKbk6">list</field>
        </block>
      </value>
    </block>
    <block type="lists_getIndex">
      <mutation statement="false" at="true"></mutation>
      <field name="MODE">GET</field>
      <field name="WHERE">FROM_START</field>
      <value name="VALUE">
        <block type="variables_get">
          <field name="VAR" id="UyvusOBXPAlbz))qKbk6">list</field>
        </block>
      </value>
    </block>
    <block type="lists_setIndex">
      <mutation at="true"></mutation>
      <field name="MODE">SET</field>
      <field name="WHERE">FROM_START</field>
      <value name="LIST">
        <block type="variables_get">
          <field name="VAR" id="UyvusOBXPAlbz))qKbk6">list</field>
        </block>
      </value>
    </block>
    <block type="lists_getSublist">
      <mutation at1="true" at2="true"></mutation>
      <field name="WHERE1">FROM_START</field>
      <field name="WHERE2">FROM_START</field>
      <value name="LIST">
        <block type="variables_get">
          <field name="VAR" id="UyvusOBXPAlbz))qKbk6">list</field>
        </block>
      </value>
    </block>
    <block type="lists_split">
      <mutation mode="SPLIT"></mutation>
      <field name="MODE">SPLIT</field>
      <value name="DELIM">
        <shadow type="text">
          <field name="TEXT">,</field>
        </shadow>
      </value>
    </block>
    <block type="lists_sort">
      <field name="TYPE">NUMERIC</field>
      <field name="DIRECTION">1</field>
    </block>
  </category>
  <category name="逻辑" colour="#5b80a5">
    <block type="controls_if"></block>
    <block type="logic_compare">
      <field name="OP">EQ</field>
    </block>
    <block type="logic_operation">
      <field name="OP">AND</field>
    </block>
    <block type="logic_negate"></block>
    <block type="logic_boolean">
      <field name="BOOL">TRUE</field>
    </block>
    <block type="logic_null"></block>
    <block type="logic_ternary"></block>
  </category>
  <category name="颜色" colour="#a5745b">
    <block type="colour_picker">
      <field name="COLOUR">#ff0000</field>
    </block>
    <block type="colour_random"></block>
    <block type="colour_rgb">
      <value name="RED">
        <shadow type="math_number">
          <field name="NUM">100</field>
        </shadow>
      </value>
      <value name="GREEN">
        <shadow type="math_number">
          <field name="NUM">50</field>
        </shadow>
      </value>
      <value name="BLUE">
        <shadow type="math_number">
          <field name="NUM">0</field>
        </shadow>
      </value>
    </block>
    <block type="colour_blend">
      <value name="COLOUR1">
        <shadow type="colour_picker">
          <field name="COLOUR">#ff0000</field>
        </shadow>
      </value>
      <value name="COLOUR2">
        <shadow type="colour_picker">
          <field name="COLOUR">#3333ff</field>
        </shadow>
      </value>
      <value name="RATIO">
        <shadow type="math_number">
          <field name="NUM">0.5</field>
        </shadow>
      </value>
    </block>
  </category>
  <sep></sep>
  <category name="框架" colour="#5b80a5">
    <block type="html5">
      <next>
        <block type="html">
          <statement name="NAME">
            <block type="head">
              <statement name="NAME">
                <block type="title">
                  <value name="NAME">
                    <block type="text">
                      <field name="TEXT"></field>
                    </block>
                  </value>
                </block>
              </statement>
              <next>
                <block type="body"></block>
              </next>
            </block>
          </statement>
        </block>
      </next>
    </block>
    <block type="diycode">
      <field name="code">……</field>
    </block>
    <block type="diycode2">
      <field name="code">……</field>
    </block>
  </category>
  <category name="属性" colour="#5ba58c">
    <block type="diycode">
      <field name="code">……</field>
    </block>
    <block type="shuxing">
      <field name="name">name</field>
      <value name="value">
        <block type="text">
          <field name="TEXT"></field>
        </block>
      </value>
    </block>
    <block type="diycode2">
      <field name="code">……</field>
    </block>
    <block type="css"></block>
    <block type="style_first">
      <field name="style_name">width</field>
      <field name="unit">point</field>
      <value name="NAME">
        <block type="math_number">
          <field name="NUM">0</field>
        </block>
      </value>
    </block>
  </category>
  <category name="PHP" colour="#995ba5">
    <block type="php_start"></block>
    <block type="get_get">
      <value name="get_key">
        <block type="text">
          <field name="TEXT"></field>
        </block>
      </value>
    </block>
    <block type="get_post">
      <value name="post_key">
        <block type="text">
          <field name="TEXT"></field>
        </block>
      </value>
    </block>
    <block type="echo">
      <value name="NAME">
        <block type="text">
          <field name="TEXT"></field>
        </block>
      </value>
    </block>
    <block type="print_r">
      <value name="NAME">
        <block type="text">
          <field name="TEXT"></field>
        </block>
      </value>
    </block>
    <block type="htmlspecialchars">
      <value name="NAME">
        <block type="text">
          <field name="TEXT"></field>
        </block>
      </value>
    </block>
    <block type="mail">
      <value name="user">
        <block type="text">
          <field name="TEXT"></field>
        </block>
      </value>
      <value name="main">
        <block type="text">
          <field name="TEXT"></field>
        </block>
      </value>
      <value name="text">
        <block type="text">
          <field name="TEXT"></field>
        </block>
      </value>
      <value name="h">
        <block type="text">
          <field name="TEXT"></field>
        </block>
      </value>
      <value name="NAME">
        <block type="text">
          <field name="TEXT"></field>
        </block>
      </value>
    </block>
  </category>
  <category name="MySQL" colour="#745ba5">
    <block type="mysql_connect">
      <value name="url">
        <block type="text">
          <field name="TEXT"></field>
        </block>
      </value>
      <value name="user_name">
        <block type="text">
          <field name="TEXT"></field>
        </block>
      </value>
      <value name="key">
        <block type="text">
          <field name="TEXT"></field>
        </block>
      </value>
    </block>
    <block type="mysql_close">
      <value name="name">
        <block type="text">
          <field name="TEXT"></field>
        </block>
      </value>
    </block>
  </category>
  <category name="cookie" colour="#a5745b">
    <block type="get_cookie">
      <value name="cookie_key">
        <block type="text">
          <field name="TEXT"></field>
        </block>
      </value>
    </block>
  </category>
  <category name="HTML" colour="#a5745b">
    <block type="html5"></block>
    <block type="html"></block>
    <block type="title">
      <value name="NAME">
        <block type="text">
          <field name="TEXT"></field>
        </block>
      </value>
    </block>
    <block type="head"></block>
    <block type="body"></block>
    <block type="h_">
      <field name="NAME">h1</field>
    </block>
    <block type="br"></block>
    <block type="p"></block>
    <block type="a">
      <field name="link">https://www.w3school.com.cn/html</field>
    </block>
    <block type="img">
      <field name="src">来源</field>
      <field name="width">100</field>
      <field name="height">100</field>
    </block>
    <block type="video">
      <field name="src">来源</field>
      <field name="width">100</field>
      <field name="height">100</field>
    </block>
  </category>
  <category name="文件操作" colour="#5ba58c">
    <block type="read">
      <field name="bianname">myfile</field>
      <value name="name">
        <block type="text">
          <field name="TEXT"></field>
        </block>
      </value>
      <value name="return_text">
        <block type="text">
          <field name="TEXT"></field>
        </block>
      </value>
    </block>
    <block type="write">
      <field name="name">myfile</field>
      <value name="path">
        <block type="text">
          <field name="TEXT"></field>
        </block>
      </value>
      <value name="write_text">
        <block type="text">
          <field name="TEXT"></field>
        </block>
      </value>
    </block>
  </category>
</xml>

  <div id="blocklyDiv" style="height:100%;width:75%;float:left;"></div>
  <script src="./blockly/ini/workspace/workspace.js"></script>

  <div style='float:right;height:95%;width:25%;'>
    <div
      style='height:100%;width:100%;overflow-y:scroll;overflow-x:scroll;white-space: nowrap;border:3px dashed #AAAAAA;'
      id='code' onclick="fcolored_egg()"></div>
  </div>

  <dialog id="about-phphelper">
    <article>
      <button data-target="about-phphelper" class="close" onClick="toggleModal(event)"></button>
      </a>
      <h3>关于PHP助手</h3>
      <center>
        <b>PHP助手——让世界没有难写的网页后端</b>
        <p>©PHP Helper 2022~2023</p>
        <p>感谢：Google Blockly<br>w3school<br>pico.css<br>Waddle</p>
        <br>
        <hr>
        <a href="https://gitee.com/codekpy/php-helper">Gitee</a><br>
        <a href="https://gitee.com/codekpy/php-helper/blob/master/README.md">帮助与免责声明</a>
      </center>
    </article>
  </dialog>

  <dialog id="save">
    <article>
      <h3>保存</h3>
      <b>保存文件名</b>
      <input id='save_name'>
      <footer>
        <a href="" role="button" class="secondary" data-target="save" onClick="toggleModal(event)">
          取消
        </a>
        <a href="" role="button" data-target="save" onClick="t();toggleModal(event)">
          保存
        </a>
      </footer> </article>
  </dialog>
</body>
</html>